package com.xiangge;
/*
    数据类型：
        -- 基本数据类型：4类8种
               1. 整数类型：byte , short , int , long
                    byte :  占用 1 个字节 , 8个bit , 2 ^ 8 = 256种取值 , 取值有符号表示 : [-128,-1] + [0,127] ----> [-128,127]
                    short : 占用 2 个字节 , 16个bit , 2 ^ 16 = 65536种取值 , 取值有符号表示 : [-2^15,-1] + [0,2^15-1] -->  [-2^15,2^15-1]   正负3万多
                    int : 占用 4 个字节 , 32个bit , 2 ^ 32 种取值 , 取值有符号表示 : [-2^31,-1] + [0,2^31-1] -->  [-2^31,2^31-1]   正负21亿多
                    long : 占用 8 个字节 , 64个bit , 2 ^ 64 种取值 , 取值有符号表示 : [-2^63,-1] + [0,2^63-1] -->  [-2^63,2^63-1]
                    说明：
                        byte : 年龄 , 100分值的分数
                        short : 大学的学生人数
                        int : 商品的总数量              一般都可以使用int
                        long : 非常大的整数

                        整数类型中字节数越大,代表能表示的整数的取值范围越大,整数的精度也越高。

               2. 小数/浮点数类型：
                     明确: 小数存储时, 整数部分和小数部分分开存, 小数的字节大小代表存小数部分的空间大小
                     float : 占用 4 个字节 ,  最多能存小数点后到7位。       --- 单精度浮点型
                     double : 占用 8 个字节 ,  最多能存小数点后到14位。     --- 双精度浮点型

               3. 字符类型：
                    char :  占用 2 个字节 , 16个bit , 2 ^ 16 = 65536 种取值 , 无符号表示, [0,2^16-1] ---> [0,65535]

                    结论：
                       'a' = 97  a -> c :  连续的
                       'A' = 65  A -> Z ： 连续的
                       '0' = 48  0 -> 9 ： 连续的
                    补充： 全世界的文字总共不超过： 65536

               4. 布尔类型：
                   boolean : 从存储的角度看占用 1 个字节 . 只能取： true / false

        -- 引用数据类型：  无数种
               除了基本类型之外都是引用数据类型 ， 例如： String , VeriableDemo9 , System....
 */
public class VeriableDemo9 {
    public static void main(String[] args) {
           /*
                    基本数据类型的关键字         占用的字节大小             取值范围
                      byte                        1                  [-128,127]
                      short                       2                  [-2^15,2^5-1]   ---> 正负三万多
                      int                         4                  [-2^31,2^31-1]  ---> 正负21亿多
                      long                        8                  [-2^63,2^63-1]
                      float                       4                  精确到小数点后面7位
                      double                      8                  精确到小数点后面14位
                      char                        2                  [0,2^16-1] ---> [0,65535]
                      boolean                     1                  true / false
            */

    }
    public static void main1(String[] args) {
        char c1 = 'a';
        System.out.println("c1 = " + c1); // c1 = a
        System.out.println(c1 + 0); // 'a' -------------- > 97
        System.out.println("----------------------------------------------");
        System.out.println('陈' + 0);
        System.out.println('远' + 0);
        System.out.println('祥' + 0);
        System.out.println('l' + 0);
        System.out.println('o' + 0);
        System.out.println('v' + 0);
        System.out.println('e' + 0);
    }
}
